package com.sen.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sen.model.dto.LoginDto;
import com.sen.model.vo.ProfileVO;
import com.sen.model.dto.RegisterDto;
import com.sen.model.entity.UmsUser;
import org.springframework.stereotype.Service;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author ergou
 * @since 2021-04-08
 */
@Service
public interface UmsUserService extends IService<UmsUser> {

    /**
     * 注册功能
     * @param dto
     * @return 注册对象
     */
    UmsUser executeRegister(RegisterDto dto);

    /**
     * 根据用户名查找用户完整信息
     * @param username
     * @return UmsUser
     */
    UmsUser getUserByUsername(String username);

    /**
     * 登录功能
     * @param dto
     * @return 生成JWT的token
     */
    String executeLogin(LoginDto dto);

    ProfileVO getUserProfile(String userId);
}
